package com.yingxin.yx.framework.commons.activiti.def;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 条件表达式
 * 前端提交用
 * 前端反馈无法使用统一的数据格式，要分别写字段
 */
@Data
public class ConditionExpression implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "element id")
    private String elementId;

    /**
     * 条件类型
     */
    private String conditionType;

    /**
     * [conditionField] [conditionOperator] [conditionValue] 例子 amt > 10
     * 条件关联的字段
     */
    private String conditionField;

    /**
     * 操作符
     */
    private String conditionOperator;

    /**
     * 值
     */
    private String conditionValue;

    /**
     * 是否含税
     */
    private String hasTax;

    /**
     * 录入发票的类型
     */
    private String entryType;
    /**
     * 款项类型
     */
    private List<String> fundTypeList;
    /** 款项类型单选*/
    private String payFundType;

    /**
     * 销售方式
     */
    private List<String> saleTypeList;
    /**
     * 厂区
     */
    private List<String> companyIdList;

    /**
     * 多个业务类型
     */
    private List<String> businessTypeList;

    /**
     * 专门处理申请人多选
     */
    private List<String>  conditionPersonIdList;

    /**
     * 专门处理部门多选
     */
    private List<String> conditionDeptIdList;

    /**
     * 专门处理生产线多选
     */
    private List<String> conditionLineIdList;

    /**
     * 专门处理碰伤类型多选
     */
    private List<String> bruiseTypeList;

    /**
     * 工伤报销类型多选
     */
    private List<String> workInjuryTypeList;

    /**
     * 专门处理停工原因多选
     */
    private List<String> sdtList;

    /**
     * 专门处理费用报销
     */
    private List<String> reimbursementTypeList;

    /**
     * 镀锌品类
     */
    private List<String> category;

    /**
     * 款项转换类型
     */
    private List<String> transferTypeList;

    /**
     * 自定义条件表单id
     */
    private String customFormId;
    /**
     * 自定义条件表单名称; 例：部门
     */
    private String customFormFieldName;
    /**
     * 自定义条件表单字段名称; 例：deptId
     */
    private String customFormField;
    /**
     * 自定义条件表单类型; 例：DE
     */
    private String customFormIdType;

    /**
     * 热轧代工轧硬是否入本公司： 0 是， 1 否
     * 1 时编辑申请走特殊流程，说明是安融销售部的业务
     */
    private String isInMyCompany;

}
